home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Harvest C 1.3 / Source Code / PPSymTable.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-04  |  1.9 KB  |  89 lines  |  [TEXT/ALFA]

  1. /*
  2.  * Harvest C
  3.  * 
  4.  * Copyright 1991 Eric W. Sink   All rights reserved.
  5.  * 
  6.  * This file provides interface for operations on the preprocessor symbol table.
  7.  * 
  8.  */
  9.  
  10. #ifndef PPSymTable_INTERFACE
  11. #define PPSymTable_INTERFACE
  12.  
  13. typedef struct preprocsym       PPSYM_t;
  14. typedef struct PPstablist       PPSymList_t;
  15. typedef unsigned long           PPSYMVia_t;
  16. typedef PPSymList_t P__H       *PPSymListVia_t;
  17.  
  18. /* Functions */
  19.  
  20. PPSYMVia_t
  21. RawPPSymbol(char *name);
  22.  
  23. PPSymListVia_t
  24. RawPPTable(void);
  25.  
  26. PPSYMVia_t
  27. PPTableAdd(PPSymListVia_t table, char *name);
  28.  
  29. int
  30.                                 PPTableSearchNum(PPSymListVia_t table, char *name);
  31.  
  32. PPSYMVia_t
  33. PPTableSearch(PPSymListVia_t table, char *name);
  34.  
  35. PPSYMVia_t
  36. PPTableRemove(PPSymListVia_t table, PPSYMVia_t name);
  37.  
  38. void
  39.                                 FreePP(PPSYMVia_t cur);
  40.  
  41. void
  42.                                 FreePPSymbolList(PPSymListVia_t table);
  43.  
  44. void
  45.                                 SetPPSymFlags(PPSYMVia_t s, unsigned short f);
  46.  
  47. unsigned short
  48.                                 GetPPSymFlags(PPSYMVia_t s);
  49.  
  50. void
  51.                                 SetPPSymValue(PPSYMVia_t s, EString_t v);
  52.  
  53. EString_t
  54. GetPPSymValue(PPSYMVia_t s);
  55.  
  56. void
  57.                                 SetPPSymArgCount(PPSYMVia_t s, int NumArgs);
  58.  
  59. void
  60.                                 SetPPSymArgs(PPSYMVia_t s, SymListVia_t ParmNames);
  61.  
  62. int
  63.                                 GetPPSymArgCount(PPSYMVia_t s);
  64.  
  65. void
  66.                                 PPLock(PPSYMVia_t s);
  67.  
  68. void
  69.                                 PPUnlock(PPSYMVia_t s);
  70.  
  71. void
  72.                                 GetPPSymName(PPSYMVia_t s, char *);
  73.  
  74. char                            GetPPSymValChar(PPSYMVia_t s, int ndx);
  75.  
  76. int
  77.                                 PPSymSearchArgNum(PPSYMVia_t s, char *ArgName);
  78.  
  79. int
  80.                                 GetPPSymValueLength(PPSYMVia_t s);
  81.  
  82. PPSYMVia_t
  83. GetPPSymNext(PPSYMVia_t s);
  84.  
  85. unsigned long
  86.                                 GetPPSymNameID(PPSYMVia_t s);
  87.  
  88. #endif
  89.